<?php

/**
 * @copyright 2011
 * @version $Id$
 * @access public
 * @author Oriotiori

 */
class Admin_Model_Facade_ImageHandler{

	/**
	 * Constructor de la clase
	 * @return void
	 */
	public function  __construct() {
	}

	/**
	 * Método para subir archivos y agregar en la DB
	 * @param mixed $form Datos provenientes del post
	 * @param array $To Array de datos
	 * @return boolean
	 */
	public function AddCategoryFiles($form, $to)
	{
		$TBD_Resource = new Admin_Model_ImageHandler();
		try{
			$to['Path']='Real';
			$to['Thumb']='Thumb';
			$to['Directory']='category';
			$to['Partname']='category-image';

			$data = $TBD_Resource->AddCategoryFiles($form, $to);
			return $data;
		}catch(Exception $e)
		{
			$error=array($e->getFile(), 'Exception: '.$e->getMessage());
			$ExceptionHandler= new Default_Model_ExceptionHandler();
			$ExceptionHandler->saveErrors($error);
		}
		return false;
	}


	/**
	 * Método para subir archivos y agregar en la DB
	 * @param mixed $form Datos provenientes del post
	 * @param array $To Array de datos
	 * @return boolean
	 */
	public function AddManufacturerFiles($form, $to)
	{
		$TBD_Resource = new Admin_Model_ImageHandler();
		try{
			$to['Path']='Real';
			$to['Thumb']='Thumb';
			$to['Directory']='manufacturer';
			$to['Partname']='manufacturer-image';

			$data = $TBD_Resource->AddManufacturerFiles($form, $to);
			return $data;
		}catch(Exception $e)
		{
			$error=array($e->getFile(), 'Exception: '.$e->getMessage());
			$ExceptionHandler= new Default_Model_ExceptionHandler();
			$ExceptionHandler->saveErrors($error);
		}
		return false;
	}

	/**
	 * Método para subir archivos y agregar en la DB
	 * @param mixed $form Datos provenientes del post
	 * @param array $To Array de datos
	 * @return boolean
	 */
	public function AddProductFiles($form, $to)
	{
		$TBD_Resource = new Admin_Model_ImageHandler();
		try{
			$to['Path']='Real';
			$to['Thumb']='Thumb';
			$to['Directory']='product';
			$to['Partname']='product-image';

			$data = $TBD_Resource->AddProductFiles($form, $to);
			return $data;
		}catch(Exception $e)
		{
			$error=array($e->getFile(), 'Exception: '.$e->getMessage());
			$ExceptionHandler= new Default_Model_ExceptionHandler();
			$ExceptionHandler->saveErrors($error);
		}
		return false;
	}

	/**
	 * Método para eliminar una imagen de la DB
	 * @param int $id id de la imagen a eliminar
	 * @return boolean
	 */
	public function deleteImage($id)
	{
		$TBD_Resource = new Admin_Model_ImageHandler();
		try{
			$data = $TBD_Resource->deleteImage($id);
			return $data;
		}catch(Exception $e)
		{
			$error=array($e->getFile(), 'Exception: '.$e->getMessage());
			$ExceptionHandler= new Default_Model_ExceptionHandler();
			$ExceptionHandler->saveErrors($error);
		}
		return false;
	}

	/**
	 * Método para eliminar un array de imagenes por su ruta
	 * @param array $path array de imagenes a eliminar
	 * @return boolean
	 */
	public function deleteImageByPath($path)
	{
		$TBD_Resource = new Admin_Model_ImageHandler();
		print_r($path);
		try{
			 
			if(is_array($path)){
				for($i=0; $i<count($path) ;$i++){
					$TBD_Resource->deleteImageByPath($path[$i]);
				}
			}
			return true;
		}catch(Exception $e)
		{
			$error=array($e->getFile(), 'Exception: '.$e->getMessage());
			$ExceptionHandler= new Default_Model_ExceptionHandler();
			$ExceptionHandler->saveErrors($error);
		}
		return false;
	}


	/**
	 * Método para eliminar un array de imagenes por su ruta
	 * @param array $path array de imagenes a eliminar
	 * @return boolean
	 */
	public function getImageById($id=0)
	{
		$TBD_Resource = new Admin_Model_ImageHandler();
		try{
			$data= $TBD_Resource->getImageById($id);
			return $data;
		}catch(Exception $e)
		{
			$error=array($e->getFile(), 'Exception: '.$e->getMessage());
			$ExceptionHandler= new Default_Model_ExceptionHandler();
			$ExceptionHandler->saveErrors($error);
		}
		return false;
	}




	/**
	 * @return array
	 */
	public function getTotalPictures()
	{
		$TBD_Resource = new Admin_Model_ImageHandler();
		try{
			$data= $TBD_Resource->getTotalPictures();
			return $data;
		}catch(Exception $e)
		{
			$error=array($e->getFile(), 'Exception: '.$e->getMessage());
			$ExceptionHandler= new Default_Model_ExceptionHandler();
			$ExceptionHandler->saveErrors($error);
		}
		return false;
	}

}
